import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';

export namespace ModianVisitorLogApi {
    /** 魔点访客记录信息 */
    export interface ModianVisitorLog {
        id: number; // 编号
        userid?: string; // 访客钉钉ID
        visitorName?: string; // 访客姓名
        visitorMobile?: string; // 访客手机号
        startTime?: number; // 开始时间戳，毫秒级
        endTime?: number; // 结束时间戳，毫秒级
        visitorFace: string; // 访客人脸图片url
        visitorIdcard: string; // 访客身份证号
        respondentId: string; // 被访人钉钉ID
        addressId: number; // 到访地址ID,19位
        visitCause: string; // 来访目的不得多余20个字符
        requstStatus: number; // 预约状态，0已提交1已完成2已取消
        approvalStatus: number; // 审批状态，0审批中1通过2驳回
        sendSms: number; // 是否发送短信,0-不发送；1-发送；默认0
        userType: number; // 用户类型，1-外部人员，2-机构内成员
        visitorCompany: string; // 访客公司
        remarks: string; // 备注
    }
}

/** 查询魔点访客记录分页 */
export function getModianVisitorLogPage(params: PageParam) {
    return requestClient.get<PageResult<ModianVisitorLogApi.ModianVisitorLog>>('/moxi/modian-visitor-log/page', { params });
}

/** 查询魔点访客记录详情 */
export function getModianVisitorLog(id: number) {
    return requestClient.get<ModianVisitorLogApi.ModianVisitorLog>(`/moxi/modian-visitor-log/get?id=${id}`);
}

/** 新增魔点访客记录 */
export function createModianVisitorLog(data: ModianVisitorLogApi.ModianVisitorLog) {
    return requestClient.post('/moxi/modian-visitor-log/create', data);
}

/** 修改魔点访客记录 */
export function updateModianVisitorLog(data: ModianVisitorLogApi.ModianVisitorLog) {
    return requestClient.put('/moxi/modian-visitor-log/update', data);
}

/** 删除魔点访客记录 */
export function deleteModianVisitorLog(id: number) {
    return requestClient.delete(`/moxi/modian-visitor-log/delete?id=${id}`);
}

/** 批量删除魔点访客记录 */
export function deleteModianVisitorLogList(ids: number[]) {
    return requestClient.delete(`/moxi/modian-visitor-log/delete-list?ids=${ids.join(',')}`)
}

/** 导出魔点访客记录 */
export function exportModianVisitorLog(params: any) {
    return requestClient.download('/moxi/modian-visitor-log/export-excel', params);
}

/** 获取轨迹 */
export function getTrack(id: number) {
    return requestClient.get<ModianVisitorLogApi.ModianVisitorLog>(`/moxi/modian-visitor-log/track?id=${id}`);
}

